# -*- coding: utf-8 -*-

import csv
import re

import requests

url = 'https://top.baidu.com/board?tab=movie'

res = requests.get(url)

html = res.text

"""
<!--s-data:.*?"content":.*?,"more":0  捕获分组: ()

match: 从头开始匹配，如果一开始数据不对，直接返回None (找一个数据，返回的是match对象，通过group取值)
search: 只要匹配到一个数据，结束匹配 (找一个数据，返回的是match对象，通过group取值)
findall: 匹配所有符合条件的数据(返回的数据类型是列表)
"""
lst = re.search(r'<!--s-data:.*?"content":(.*?),"more":0', html, re.S)
# print(lst)
# print(lst.group(1)) # [{}{}{}]  json -- 转换成列表 -- 循环遍历， 取出里面的内容

# 匹配数据，正则匹配的时候，他的匹配对象有要求，必须是字符串类型
lis = re.findall(r'.*?"show":.*?"类型：(.*?)","演员：(.*?)".*?"word":"(.*?)"', lst.group(1), re.S)
print(lis)

with open('movie.csv', 'w', encoding='utf-8-sig', newline='')as f:
    writer = csv.writer(f)
    writer.writerow(('类型','演员','名称'))
    writer.writerows(lis)

"""
.*?"show":.*?"类型：(.*?)","演员：(.*?)".*?"word": "(.*?)"
{
        "appUrl": "https://www.baidu.com/s?wd=%E8%80%81%E5%B8%88%EF%BC%8C%E5%88%AB%E5%93%AD+%E7%94%B5%E5%BD%B1&sa=fyb_movie_all_all&rsv_dl=fyb_movie_all_all",
        "desc": "讲述了一个大学生与五个小孩子的温馨故事，即将毕业的大学生贾思婷，意外成为了广东韶关一个小山村的支教老师，彼时正值韶关银杏染秋的时节，大片金灿灿的银杏叶与宁静乡村相映衬，让刚一进山的贾思婷目酣神醉。",
        "hotChange": "same",
        "hotScore": "123439",
        "img": "https://fyb-2.cdn.bcebos.com/hotboard_image/65075a4fe4762455a85737650fa035b8",
        "index": 0,
        "indexUrl": "https://index.baidu.com/v2/main/index.html#/brand/100661867?words=老师，别哭",
        "query": "老师，别哭 电影",
        "rawUrl": "https://www.baidu.com/s?wd=%E8%80%81%E5%B8%88%EF%BC%8C%E5%88%AB%E5%93%AD+%E7%94%B5%E5%BD%B1",
        "show": [
            "类型：剧情",
            "演员：董钒、王浩宇"
        ],
        "url": "https://www.baidu.com/s?wd=%E8%80%81%E5%B8%88%EF%BC%8C%E5%88%AB%E5%93%AD+%E7%94%B5%E5%BD%B1&sa=fyb_movie_all_all&rsv_dl=fyb_movie_all_all",
        "word": "老师，别哭"
    }
"""




